home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / SuperiorCanfield.dxr / Internal_3_stock cards.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  1.7 KB  |  61 lines

  1. property spriteNum, card, wastecard
  2. global stock, waste
  3.  
  4. on beginSprite me
  5.   card = sprite(spriteNum)
  6.   stock = new(script("card pile"))
  7.   stock.cards = shuffle()
  8.   wastecard = sprite(12)
  9. end
  10.  
  11. on shuffle me
  12.   unshuffled = []
  13.   shuffled = []
  14.   repeat with rank in ["ace", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "jack", "queen", "king"]
  15.     repeat with suit in ["hearts", "diamonds", "clubs", "spades"]
  16.       unshuffled.add([#rank: rank, #suit: suit])
  17.     end repeat
  18.   end repeat
  19.   repeat while unshuffled.count > 0
  20.     temp = unshuffled[random(unshuffled.count)]
  21.     shuffled.add(temp)
  22.     unshuffled.deleteOne(temp)
  23.   end repeat
  24.   return shuffled
  25. end
  26.  
  27. on mouseDown me
  28.   if card.member = member("backofcard", "playing cards") then
  29.     repeat with counter = 1 to 3
  30.       if stock.cards.count = 0 then
  31.         exit repeat
  32.       end if
  33.       puppetSound(3, member("deal card", "100GPak Generic SFX"))
  34.       wastecard.member = member(stock.cards[1].rank & "_" & stock.cards[1].suit, "playing cards")
  35.       stock.cards.deleteAt(1)
  36.       waste.addCard(wastecard.spriteNum)
  37.       updateStage()
  38.     end repeat
  39.     if stock.cards.count = 0 then
  40.       card.member = member("replenish", "playing cards")
  41.       checklose()
  42.     end if
  43.   else
  44.     if card.member = member("replenish", "playing cards") then
  45.       stock.cards = reshuffle(waste.cards)
  46.       waste.cards.deleteAll()
  47.       card.member = member("backofcard", "playing cards")
  48.       wastecard.member = member("empty", "playing cards")
  49.       wastecard.undercard.member = member("empty", "playing cards")
  50.     end if
  51.   end if
  52. end
  53.  
  54. on reshuffle arg
  55.   sho = []
  56.   repeat with i = 1 to arg.count
  57.     sho.add([#rank: arg[i].rank, #suit: arg[i].suit])
  58.   end repeat
  59.   return sho
  60. end
  61.